/*
 * RSquareL.h
 *
 *  Created on: May 4, 2012
 *      Author: kobe
 */

#ifndef RSQUAREL_H_
#define RSQUAREL_H_

#include "Rule.h"

class R_SquareL: public Rule {
public:
	R_SquareL();
	virtual ~R_SquareL();
	std::vector<Sequent*> run(Sequent* s) ;
	std::string toString();
	std::string toLatex();
private:
	Context* search(Context*);
	Context* searchOnAction(Context*);
	bool checkLoop(Context*, Proposition*);
	std::vector<Sequent*> runOnAction(Sequent*);
};

#endif /* RSQUAREL_H_ */
